home *** CD-ROM | disk | FTP | other *** search
/ Aminet 24 / Aminet 24 (1998)(GTI - Schatztruhe)[!][Apr 1998].iso / Aminet / comm / mail / Mutt089src.lha / Mutt-0.89i-AMIGA / src / protos.h < prev    next >
C/C++ Source or Header  |  1998-01-28  |  11KB  |  331 lines

  1. /*
  2.  * Copyright (C) 1996-8 Michael R. Elkins <me@cs.hmc.edu>
  3.  * 
  4.  *     This program is free software; you can redistribute it and/or modify
  5.  *     it under the terms of the GNU General Public License as published by
  6.  *     the Free Software Foundation; either version 2 of the License, or
  7.  *     (at your option) any later version.
  8.  * 
  9.  *     This program is distributed in the hope that it will be useful,
  10.  *     but WITHOUT ANY WARRANTY; without even the implied warranty of
  11.  *     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
  12.  *     GNU General Public License for more details.
  13.  * 
  14.  *     You should have received a copy of the GNU General Public License
  15.  *     along with this program; if not, write to the Free Software
  16.  *     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  17.  */ 
  18.  
  19. #define FOREVER while (1)
  20.  
  21. #ifdef DEBUG
  22. #define dprint(N,X) if(debuglevel>=N) fprintf X
  23. #else
  24. #define dprint(N,X) 
  25. #endif
  26.  
  27. #define mutt_make_string(A,B,C,D) _mutt_make_string(A,B,C,D,0)
  28. void _mutt_make_string (char *, size_t, char *, HEADER *, int);
  29.  
  30. const char *mutt_extract_token (char *, size_t, const char *, char *, size_t, int);
  31.  
  32. #define mutt_system(x) _mutt_system(x,0)
  33. int _mutt_system (const char *, int);
  34.  
  35. #define mutt_next_thread(x) _mutt_aside_thread(x,1,0)
  36. #define mutt_previous_thread(x) _mutt_aside_thread(x,0,0)
  37. #define mutt_next_subthread(x) _mutt_aside_thread(x,1,1)
  38. #define mutt_previous_subthread(x) _mutt_aside_thread(x,0,1)
  39. int _mutt_aside_thread (HEADER *, short, short);
  40.  
  41. #define ISSPACE(c) isspace((unsigned char)c)
  42.  
  43. #define mutt_new_parameter() safe_calloc (1, sizeof (PARAMETER))
  44. #define mutt_new_header() safe_calloc (1, sizeof (HEADER))
  45. #define mutt_new_envelope() safe_calloc (1, sizeof (ENVELOPE))
  46.  
  47. void set_quadoption (int, int);
  48. int query_quadoption (int, const char *);
  49. int quadoption (int);
  50.  
  51. ADDRESS *mutt_expand_aliases (ADDRESS *);
  52. BODY *mutt_dup_body (BODY *);
  53. BODY *mutt_new_body (void);
  54. HEADER *mutt_dup_header (HEADER *);
  55.  
  56. ATTACHPTR **mutt_gen_attach_list (BODY *, short *, short *, int);
  57.  
  58. char *mutt_expand_path (char *, size_t);
  59. char *mutt_find_hook (int, const char *);
  60. char *mutt_gen_msgid (void);
  61. char *mutt_get_parameter (const char *, PARAMETER *);
  62. char *mutt_strlower (char *);
  63. char *mutt_skip_whitespace (char *);
  64. char *mutt_substrcpy (char *, const char *, const char *, size_t);
  65.  
  66. void mutt_alias_menu (char *, size_t, ALIAS *);
  67. void mutt_block_signals (void);
  68. void mutt_block_signals_system (void);
  69. void mutt_bounce_message (HEADER *, ADDRESS *);
  70. void mutt_buffy (char *);
  71. void mutt_buffy_notify (void);
  72. void mutt_clear_error (void);
  73. void mutt_create_alias (ENVELOPE *);
  74. #if (defined(USE_SLANG_CURSES) || defined(HAVE_CURS_SET))
  75. void mutt_curs_set (int);
  76. #else
  77. #define mutt_curs_set(x)
  78. #endif
  79. void mutt_default_save (char *, size_t, ENVELOPE *);
  80. void mutt_display_address (ADDRESS *);
  81. void mutt_error (const char *, ...);
  82. void mutt_enter_command (void);
  83. void mutt_exit (int);
  84. void mutt_expand_fmt (char *, size_t, const char *, const char *);
  85. void mutt_expand_link (char *, const char *, const char *);
  86. void mutt_fetchPopMail (void);
  87. void mutt_folder_hook (char *);
  88. void mutt_free_address (ADDRESS **);
  89. void mutt_free_alias (ALIAS **);
  90. void mutt_free_body (BODY **);
  91. void mutt_free_color (int fg, int bg);
  92. void mutt_free_envelope (ENVELOPE **);
  93. void mutt_free_header (HEADER **);
  94. void mutt_free_parameter (PARAMETER **);
  95. void mutt_generate_header (char *, size_t, HEADER *, int);
  96. void mutt_help (int);
  97. void mutt_index_menu (void);
  98. void mutt_init (int);
  99. void mutt_init_history (void);
  100. void mutt_make_help (char *, size_t, char *, int, int);
  101. void mutt_message (const char *, ...);
  102. void mutt_message_to_7bit (BODY *, FILE *);
  103. void mutt_mktemp (char *);
  104. void mutt_parse_adrlist (ADDRESS **, const char *, const char *);
  105. void mutt_parse_mime_message (HEADER *);
  106. void mutt_pipe_message_to_state (HEADER *, STATE *);
  107. void mutt_perror (const char *);
  108. void mutt_pretty_mailbox (char *);
  109. void mutt_pretty_size (char *, size_t, long);
  110. void mutt_print_message (HEADER *);
  111. void mutt_remove_trailing_ws (char *);
  112. void mutt_query_exit (void);
  113. void mutt_safe_path (char *s, size_t l, ADDRESS *a);
  114. void mutt_select_fcc (char *, size_t, ENVELOPE *);
  115. void mutt_select_file (char *, size_t, int);
  116. void mutt_send_hook (ADDRESS *);
  117. void mutt_set_flag (CONTEXT *, HEADER *, int, int);
  118. void mutt_shell_escape (void);
  119. void mutt_show_error (void);
  120. void mutt_signal_init (void);
  121. void mutt_simple_address (char *, size_t, ADDRESS *);
  122. void mutt_status_line (char *, size_t, const char *);
  123. void mutt_tabs_to_spaces (char *);
  124. void mutt_tag_set_flag (int, int);
  125. void mutt_unblock_signals (void);
  126. void mutt_unblock_signals_system (int);
  127. void mutt_unlink (const char *);
  128. void mutt_update_encoding (BODY *a);
  129. void mutt_update_tree (ATTACHPTR **, short);
  130. void mutt_view_attachments (HEADER *);
  131.  
  132. int mutt_addr_is_user (ADDRESS *);
  133. int mutt_alias_complete (char *, size_t);
  134. int mutt_alloc_color (int fg, int bg);
  135. int mutt_any_key_to_continue (const char *);
  136. int mutt_buffy_check (void);
  137. int mutt_can_decode (BODY *);
  138. int mutt_change_flag (HEADER *, int);
  139. int mutt_check_encoding (const char *);
  140. int mutt_check_key (const char *);
  141. int mutt_check_menu (const char *);
  142. int mutt_check_mime_type (const char *);
  143. int mutt_check_month (const char *);
  144. int mutt_check_overwrite (const char *, const char *, char *, size_t, int);
  145. int mutt_complete (char *);
  146. int mutt_confirm_func (const char *);
  147. int mutt_copy_bytes (FILE *, FILE *, size_t);
  148. int mutt_copy_hdr (FILE *, FILE *, long, long, int);
  149. int mutt_copy_header (FILE *, HEADER *, FILE *, int);
  150. int mutt_copy_stream (FILE *, FILE *);
  151. int mutt_decode_save_attachment (FILE *, BODY *, char *, int, int);
  152. int mutt_display_message (HEADER *h);
  153. int mutt_do_pager (char *, char *, int);
  154. int mutt_edit_attachment(BODY *, int);
  155. int mutt_enter_fname (const char *, char *, size_t, int *);
  156. int mutt_enter_string (unsigned char *, size_t, int, int, int);
  157. int mutt_get_field (char *, char *, size_t, int);
  158. int mutt_get_password (char *, char *, size_t);
  159. int mutt_is_autoview (char *);
  160. int mutt_is_mail_list (ADDRESS *);
  161. int mutt_is_text_type (int, char *);
  162. int mutt_is_valid_mailbox (const char *);
  163. int mutt_needs_mailcap (BODY *);
  164. int mutt_num_postponed (void);
  165. int mutt_pager (const char *, const char *, HEADER *, int);
  166. int mutt_parse_bind (const char *, void *, char *, size_t);
  167. int mutt_parse_color (const char *, void *, char *, size_t);
  168. int mutt_parse_hook (const char *, void *, char *, size_t);
  169. int mutt_parse_macro (const char *, void *, char *, size_t);
  170. int mutt_parse_mailboxes (const char *s, void *, char *, size_t);
  171. int mutt_parse_mono (const char *, void *, char *, size_t);
  172. int mutt_parse_push (const char *, void *, char *, size_t);
  173. int mutt_parse_rc_line (const char *, char *, int);
  174. int mutt_pattern_func (int, char *, HEADER *);
  175. int mutt_pipe_attachment (FILE *, BODY *, const char *, char *); 
  176. int mutt_pipe_message (HEADER *);
  177. int mutt_print_attachment (FILE *, BODY *);
  178. int mutt_save_attachment (FILE *, BODY *, char *, int);
  179. int mutt_save_message (HEADER *, int, int, int *);
  180. int mutt_search_command (int, int);
  181. int mutt_strcmp (const char *, const char *);
  182. int mutt_thread_set_flag (HEADER *, int, int, int);
  183. int mutt_view_attachment (FILE*, BODY *, int);
  184. int mutt_wait_filter (pid_t);
  185. int mutt_which_case (const char *);
  186. int mutt_write_rfc822_header (FILE *, ENVELOPE *, BODY *, int);
  187. int mutt_yesorno (const char *, int);
  188.  
  189. int mh_valid_message (const char *);
  190.  
  191. time_t mutt_mktime (struct tm *);
  192.  
  193. pid_t mutt_create_filter (const char *, FILE **, FILE **, FILE **);
  194. pid_t mutt_create_filter_fd (const char *, FILE **, FILE **, FILE **, int, int, int);
  195.  
  196. char *safe_strdup (const char *);
  197.  
  198. void *safe_calloc (size_t, size_t);
  199. void *safe_malloc (unsigned int);
  200. void safe_realloc (void **, size_t);
  201. void safe_free (void **);
  202.  
  203. FILE *safe_fopen (const char *, const char *);
  204.  
  205. ADDRESS *alias_reverse_lookup (ADDRESS *);
  206.  
  207. #define strfcpy(A,B,C) strncpy(A,B,C), *(A+(C)-1)=0
  208.  
  209. #define SKIPWS(c) while (*(c) && isspace ((unsigned char) *(c))) c++;
  210.  
  211. #ifdef LOCALES_HACK
  212. #define IsPrint(c) (isprint((unsigned char)(c)) || \
  213.     ((unsigned char)(c) >= 0xa0))
  214. #else
  215. #define IsPrint(c) (isprint((unsigned char)(c)) || \
  216.     (opt